﻿using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using TVPeruRFIDMovil.Clases.Movil;
using LH.Library;

namespace TVPeruRFIDMovil
{
    public partial class frmMenuPrincipal2 : Form
    {
        #region --- Constructor ---
        public frmMenuPrincipal2()
        {
            InitializeComponent();
        }
        #endregion

        #region --- Eventos formulario ---
        private void frmMenuPrincipal2_Load(object sender, EventArgs e)
        {
            cargarFormulario();
        }
           
        private void frmMenuPrincipal2_Closing(object sender, CancelEventArgs e)
        {
            finalizarFormulario();
        }
        
        private void btnRegistro_Click(object sender, EventArgs e)
        {
            mostrarFormularioRegistrarBien();
        }
        private void btnMovimiento_Click(object sender, EventArgs e)
        {
            mostrarFormularioSolicitud();
        }
        /*private void btnPrestamo_Click(object sender, EventArgs e)
        {
            mostrarFormularioMovimientoSalida();
        }

        private void btnDevolucion_Click(object sender, EventArgs e)
        {
            mostrarFormularioMovimientoEntrada();
        }*/
        private void mnuSalir_Click(object sender, EventArgs e)
        {
            salir();
        }
        
        #endregion


        #region --- Eventos LectorRFID ---
        private void psionRFID_CapturaError(string mensaje)
        {
            Util.ShowMessageboxExclamacion(mensaje, "Lector-RFID");
        }
        #endregion

        #region --- Metodos Propios ---
        private void cargarFormulario()
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;

                MetodosAplicacion.configuraFormulario(this);

                // Instanciando LectorRFID
                ParametrosAplicacion.psionRFID = new LH.PsionRFID.PsionRFID();

                agregarEventoRFID();

                ParametrosAplicacion.psionRFID.iniciar("1", "2");
                //ParametrosAplicacion.psionRFID.establecerPotencia(50);
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex, this.lblTitulo.Text);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }

        private void finalizarFormulario()
        {
            quitarEventoLectorRFID();

            if (ParametrosAplicacion.psionRFID != null)
            {
                ParametrosAplicacion.psionRFID.detener();
            }

            ParametrosAplicacion.psionRFID = null;

        }

        private void agregarEventoRFID()
        {
            ParametrosAplicacion.psionRFID.CapturaError += new LH.PsionRFID.PsionRFID.CapturaErrorHandler(psionRFID_CapturaError);
        }

        private void quitarEventoLectorRFID()
        {
            ParametrosAplicacion.psionRFID.CapturaError -= new LH.PsionRFID.PsionRFID.CapturaErrorHandler(psionRFID_CapturaError);
        }

        private void mostrarFormularioRegistrarBien()
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;

                using (frmRegistro frmRegistro = new frmRegistro())
                {
                    frmRegistro.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex, this.lblTitulo.Text);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
        private void mostrarFormularioSolicitud()
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;

                using (frmSolicitud frmSolicitud = new frmSolicitud())
                {
                    frmSolicitud.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex, this.lblTitulo.Text);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }

        /*private void mostrarFormularioMovimientoSalida()
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;

                using (frmSolicitudMovimientoSalida frmSolicitudMovimientoSalida = new frmSolicitudMovimientoSalida())
                {
                    frmSolicitudMovimientoSalida.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex, this.lblTitulo.Text);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }

        private void mostrarFormularioMovimientoEntrada()
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;

                using (frmSolicitudMovimientoIngreso frmSolicitudMovimientoIngreso = new frmSolicitudMovimientoIngreso())
                {
                    frmSolicitudMovimientoIngreso.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex, this.lblTitulo.Text);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }*/

        private void salir()
        {
            
            
            this.Close();
        }
        #endregion

 




        


    }
}